Overview
A functionality module (FM) is custom-developed, customer-specific code that operates within the secure confines of a Hardware Security Module (HSM). You can use the ProtectToolkit FM SDK to develop FMs for the ProtectServer 3 PCIe,ProtectServer 3 External, andProtectServer 3+ External HSMs.
FMs allow application developers to design security-sensitive program code, which can be downloaded into the HSM to operate as part of the HSM firmware. This functionality may be required to implement custom algorithms or isolate security-sensitive code from the host environment. FMs can make full use of the HSM functionality, which is provided using a PKCS#11-compliant Application Programming Interface (API). The ProtectToolkit FM SDK allows developers an extensive opportunity to create a wide range of customized high-security applications.
To assist in the development of FMs, the ProtectToolkit FM SDK contains support for FM emulation on the host system.
This document is intended for software developers, as a technical reference describing the programming methodologies and functions used for developing Functionality Modules and host-side applications.
Features
Host apps are supported on all platforms supporting the ProtectToolkit SDK. FMs have to be cross-compiled on Linux. The FM SDK provides the following components:
-
Sample FM code
-
Sample host-side code
-
Build scripts
-
Host-side libraries
-
Java classes to access HSMs
-
Java docs
-
FM binary image generation tools
-
FM libraries
-
FM emulation libraries
-
8 MB of FM storage space